package br.com.bomsabor.view;

import java.util.LinkedList;

import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;

import br.com.bomsabor.model.ItemPedido;
import br.com.bomsabor.util.Conversor;

public class ItemPedidoTableModel extends AbstractTableModel {

	
	private static final long serialVersionUID = 3602343856921339265L;
	private static final String[] columnNames = {"Produto", "Quantidade", "Valor Unit.", "Valor Total"};
    private LinkedList<ItemPedido> list;
    
    private FrmItemPedido frmItemPedido;
  
	public ItemPedidoTableModel () {
    	list = new LinkedList<ItemPedido>();
    }
	public String getColumnName(int col) {
		return columnNames[col].toString();
    }
    public int getRowCount() { return list.size(); }
    public int getColumnCount() { return columnNames.length; }
    public boolean isCellEditable(int row, int col) { 
    	return (col == 0 || col == 1);
    }
    public Object getValueAt(int row, int col) {
    	Object valor = null;
		long qtd  = list.get(row).getQuantidadeProduto();
		double vlrUnit = list.get(row).getProduto().getValorProduto();
    	switch(col) {
        	case 0: valor = list.get(row).getProduto().getNomeProduto(); break;
        	case 1: valor = qtd; break;
        	case 2: 
        		valor = Conversor.money2string(vlrUnit); break;
        	case 3: 
        		valor = Conversor.money2string(vlrUnit*qtd); break;
    	}
    	return valor;
    }
    public void addElement(ItemPedido e) {
        list.add(e);
        fireTableRowsInserted(list.size()-1, list.size()-1);
    }
    
    
    public FrmItemPedido getFrmItemPedido() {
		return frmItemPedido;
	}
	public void setFrmItemPedido(FrmItemPedido frmItemPedido) {
		this.frmItemPedido = frmItemPedido;
	}

}
